<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 日期是不确定的，所以设置一个变量  maxDay  进行判断  ！！！




        var y = prompt('请输入年份');
        var m = prompt('请输入月份');
        var d = prompt('亲输入日期');

        // 年份在2000-3000之间
        // 月份在1-12之间
        // 日期？

        // 1 判断年是否合法  2000-3000之间的整数
        if (y >= 2000 && y <= 3000 && y % 1 === 0) {
            // 2 判断月份  1-12之间的整数
            if (m >= 1 && m <= 12 && m % 1 === 0) {
                // 3 判断日期  1-？之间
                // 声明一个变量
                var maxDay ;    
                // 1 3 5 7 8 10 12   31天
                // 4 6 9 11  30天
                // 2月看闰年  28 / 29天

                // 页面拿来的值是字符串
                // 把字符串转数字
                m *= 1 ;    // m = Number(m);  m /= 1  
                d *= 1 ;

                if(m === 1 || m === 3 || m === 5 || m === 7 || m === 8 || m === 10 || m === 12 ) {
                    maxDay = 31 ;
                }
                else if (m === 4 || m === 6 || m === 9 || m === 11) {
                    maxDay = 30 ;
                }
                else if(m === 2) {
                    if (y % 4 === 0 && y % 100 !== 0 || y % 400 == 0) {
                        maxDay = 29 ;
                    }
                    else {
                        maxDay = 28 ;
                    }
                }

                if (d >= 1 && d <= maxDay && d % 1 === 0) {
                    alert('你终于做出来了，真棒');
                    
                } 
                else {
                    alert('报错,日期错误');
                }
            }
            else {
                alert('报错,月份1-12之间的整数');
            }
        }
        else {
            alert('报错,年份必须在2000-3000之间的整数');
        }

    </script>

</body>

</html>